<!DOCTYPE html>
<html lang="cn">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css"></style>
</head>
<body>
    <h1>JS 自执行 和 闭包</h1>
    <hr>

    <script>
        (function(){console.log(1)})();
        (function(){console.log(2)}());

        // 1:
        // function fun1() {
        //     var a = 5;
        //     function fun2() {
        //         console.log(a);
        //     }
        //     return fun2;
        // }

        // var result = fun1();
        // console.log(result); // 就是一个闭包,即fun2函数
        // result();
        // fun1()();
        // 
        

        // 2:
        // function fun1(a) {
        //     function fun2() {
        //         console.log(a);
        //     }
        //     return fun2;
        // }

        // result1 = fun1(10);
        // result2 = fun1(20);
        // result3 = fun1(30);
        // result1();
        // result2();
        // result3();

        // 3:
        function fun1(a) {
            return (function (){
                console.log(a);
            })();
        }

        fun1(101);
        fun1(201);
        fun1(301);

    </script>
</body>
</html>